<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <style>
      /* 填写样式 */
    </style>
  </head>

  <body>
    <!-- 填写标签 -->
    <script type="text/javascript">
        /**
         * 一道简单的匿名函数传参调用的题， 参数的初始形式是数组
         * 首先是最简单的思路，既然方法传递过来了咱直接调用不就行了，
         * 所以有了第一种方法，展开数组当参数传给方法
         * 传参这件事不仅仅只有直接调用的方法，咱还可以通过call或apply的方法
         * 两者的区别是call是直接传参，apply是传数组，
         * 对于这题也就是apply直接传，call需要展开
         */
      // 填写JavaScript
      const argsAsArray=(fn,arr)=>fn(...arr);
      const argsAsArray1 = (fn, arr) => fn.apply(this, arr);
      const argsAsArray2=(fn,arr)=>fn.call(this,...arr);

      console.log(
        argsAsArray(
          function (greeting, name, punctuation) {
            return greeting + ", " + name + (punctuation || "!");
          },
          ["Hello", "Ellie", "!"]
        )
      );
    </script>
  </body>
</html>
